#pragma once
#include "GePoint3.h"
namespace tge
{
	template<typename RealT,typename PointType,typename VectorType>
	class TGeLine3
	{
	public:
		PointType  m_ptOrigin;
		VectorType m_dir;
	public:
		TGeLine3(void)
		{
		}
		TGeLine3(const PointType&pt0, const VectorType&dir)
			:m_ptOrigin(pt0),m_dir(dir)
		{
		}
		TGeLine3(const PointType&pt0, const PointType&pt2)
			:m_ptOrigin(pt0), m_dir(pt2-pt0)
		{
		}
	};
	typedef TGeLine3<double, GePoint3d, GeVector3d>GeLine3d;
}
